The present invention relates generally to the field of computer pointing devices. More particularly, the present invention relates to an improved touch-based pointing device wherein the control gain or other operational features of the pointing device are dynamically adjusted to provide optimal performance for each pointing task.
Although the keyboard remains the primary computer input device in a computer system, the prevalence of graphical user interfaces (GUIs) virtually requires the use of a mouse or other pointing device. A variety of pointing devices are known, including the mouse, trackball, joystick, and touchpad. Each of the aforementioned types of pointing devices have their own attendant advantages and disadvantages.
A mouse uses a roller ball and rollers for translating x- and y-axis movement of the mouse to x-y movement of an on-screen pointer. A mouse typically has a hand-sized housing and is operated by moving the mouse around on a flat surface such as a desktop or mouse pad. Common mechanisms for generating an electrical signal representative of x-y movement include opto-mechanical mechanisms which operate by means of rotating disks having radial slits and optical mechanisms which interpret variations in reflectance as the mouse is moved over a special grid. A mouse typically has one or more buttons located on the housing for activating various software features.
A major advantage of the mouse is that its use is fairly intuitive. However, drawbacks to the mouse have led to the development of alternative pointing devices. One drawback is the space required for a mouse. Because the mouse is not a stationary device, a relatively large amount of desktop space is required. Additionally, the mouse is generally not suitable for use with a portable computer because many mobile settings lack of a suitable operating surface.
The trackball somewhat alleviates the problems of the mouse. A trackball is essentially reversed from a mouse. The trackball employs a roller ball in a stationary housing and the cursor is controlled by turning the roller ball directly with the hand. Because the trackball is stationary, freestanding units typically require less desktop space than a mouse. Also, the stationary nature of the trackball makes it suitable for incorporation into the housing of a device such as a keyboard or portable computer. Trackballs often employ a large roller ball to achieve accurate cursor movement and ease of manipulation. This, however, requires a larger footprint and is suitable only where there are few or no space constraints. Trackballs may be reduced in size to accommodate the space limitations of a portable computer, however, the ergonomics and accuracy of small trackballs may be less than desired.
Small joystick-like pointing devices are also known. Such devices essentially have no footprint in that they may be located between the keys of a keyboard. These devices are operated by pushing a small stick or knob in the direction of desired cursor movement. Pressure transducers sense the direction of the push and move the cursor in the corresponding direction. Some devices sense the magnitude of the force as well as the direction of the force. In this manner, a user can control cursor speed by using varying degrees of force. Although such built-in pointing devices find widespread use in portable computers due to their almost nonexistent space requirements, they are more awkward than a mouse or trackball, particularly where fine cursor control is required. Also, the associated buttons are somewhat remotely located from the stick, making generating mouse clicks more difficult. This is especially so for pointer control tasks requiring a button press and x-y pointer movement to be performed simultaneously.
Touchpads are very intuitive pointing devices that eliminate many of the problems of the previously mentioned devices. Touchpads are stationary and compact, making them well suited for use as a built-in device for portable computers or keyboards. Touchpads are equally well suited for use as a self-contained, small footprint mouse alternative in desktop systems. Touchpads are flat, rectangular, stationary devices and typically employ a grid or matrix of capacitance sensors underneath a protective surface. Touchpads responding to direct pressure, e.g., using layered conductive or resistive sheets, are also known. Capacitance sensing touchpads sense the additional capacitance of a user""s finger, but not a stylus, fingernail, pen, pencil, etc. Capacitance sensing touchpads may be used with a conductive stylus, pen, or brush-type device. Capacitance sensing touchpads may also be adapted for use with a nonconductive stylus by providing a conductive layer that is separated from the sensor matrix by a resilient compressible layer such as a foam, gel, or the like. Pressure exerted by the nonconductive stylus moves the conductive material into closer proximity of the sensor matrix as the resilient material is compressed.
Touchpads let a user control the cursor with only finger movement and require virtually none of the arm movement that a mouse or trackball demands. Touchpads also generally require no downward pressure. In fact, the capacitive effect of a finger may be sensed when it is near, but not touching the surface. Touchpads may be made pressure sensitive by sensing the surface area covered by a user""s finger and interpreting the finger contact surface area as an indicium of the pressure exerted. This may be used to control, for example, pen or brush stroke width in a graphic creation software application environment, or to determine whether the necessary tapping force threshold for generating a mouse click is achieved.
As a user""s fingertip is moved across the surface of a touchpad, the x-y movement is translated and the cursor follows the movement. Touchpads are primarily used as relative positioning devices and, accordingly, it is the change in x-y position that is tracked. Touchpads are certainly capable of being operated as absolute positioning devices wherein every position on the sensing surface corresponds to an absolute screen location in much the same manner as most drawing or digitizing tablets and touch screen overlays. However, given the typically small size of touchpads, an absolute positioning touchpad would have a very low resolution.
Mouse click commands may be emulated by tapping a finger on the touchpad surface. Buttons for generating mouse clicks are typically also provided. Buttons may be located on the housing of a free standing device or on the housing of a keyboard or portable computer having an integrated touchpad. Taps can also be performed by a switch responsive to downward pressure positioned underneath the touchpad surface. Touchpads are also advantageous as pointing devices in that they are typically very well sealed against environmental factors such as moisture, dirt, and debris.
One of the major advantages of the touchpad is its compact footprint. The size of a touchpad will typically be rectangular, approximately 1.5-2 inches by 3-5 inches. This compact size creates additional difficulties, however.
A control gain is associated with the touchpad. A touchpad""s surface is representative of a real space overlapping the monitor. By increasing or decreasing the control gain, the size of this real space is varied. By setting the gain very low, the size of the real space is adjusted to be smaller than the entire screen. A movement on the touchpad is translated into a relatively fine movement on the screen, allowing fine cursor control. When adjusted very fine, however, the touchpad may not cover the real space corresponding to the entire screen. A user may be forced to drag an object until reaching the edge of the touchpad and then release the object to reposition his/her finger on the touchpad. This can result in objects being dropped in undesirable locations and losing other highlighted work.
Adjusting the gain too high has similar shortcomings. If the gain is adjusted high, the real space corresponding to the touchpad exceeds the size of the screen. A user can easily move objects across the entire screen. However, due to the decreased resolution of the touchpad, it can become quite difficult to locate the cursor over a particular location on the screen. Without the fine cursor control, it becomes difficult to accurately place objects on the screen.
Numerous attempts have been made to configure touchpad control gain to accommodate both gross and fine cursor movements. One such attempt is to provide a feature known as acceleration. Acceleration allows the control gain to be dynamically varied as a function of the rate of finger movement on the sensing surface. Thus, when a finger is moved very fast across the touchpad surface, the resulting on-screen movement is governed by a high control gain. In this manner, the distance of on-screen movement is high relative to the distance the finger is moved. Likewise, when a finger is moved very slowly on the touchpad, the resulting on-screen movement is governed by a low control gain. With slow finger movement, the on-screen movement may be the same as or less than distance the finger is moved. Typical driver software includes a user-adjustable parameter for choosing from several acceleration levels.
Although cursor acceleration is preferable to a simple control gain setting, it still has several drawbacks. For example, extremely high finger speeds employed in attempts to trigger the highest control gain of the acceleration profile may lack control and thus may result in erratic cursor behavior. Since acceleration represents a compromise that is optimal for neither fine nor gross control, users often become frustrated with even the best touchpads and switch to using a mouse whenever possible, especially for tasks requiring very fine cursor positioning such as graphics creation.
Touchpad users have exploited the properties of cursor acceleration in unique ways to accomplish long distance cursor excursions. Such methods are inconvenient or difficult to perform. Such methods do, however, illustrate the shortcomings of the prior art acceleration schemes and the need for an improved method for dynamically configuring touchpad control gain. One of such methods involves swishing the finger over the touchpad surface at alternating fast and slow rates. As stated above, acceleration represents a compromise that is optimal for neither extremely large nor small movements. Thus, traversing the entire length or width of the screen is generally not possible with touchpads using acceleration. In those cases where it would be undesirable to lift the finger from the touchpad surface, as where selected objects would be prematurely dropped, a user can take advantage of the acceleration feature to avoid lifting the finger. In performing the finger swishing technique, the finger is moved fast in the desired direction and slow in the opposite direction. As a result of the different finger speeds, there will be a net cursor movement in the desired direction. This process is repeated until the cursor arrives at the desired location on the screen. This approach requires multiple physical actions by the user and is, at best, clumsy.
Another method wherein acceleration may be exploited to move the cursor long distances involves the use of two fingers to cause the cursor to jump or move very quickly to a distant on-screen location. In performing this technique a first finger is placed on the touchpad followed very quickly by a second finger placed some distance from the first finger. The fingers are placed so that they are aligned in the direction of desired cursor movement. With practice, the two touches can be timed so that they are interpreted as though one finger covered the distance very quickly. As a result, the cursor movement is governed by a very high control gain and the cursor travels very quickly to the edge of the screen. However, this technique lacks precision even when skillfully executed and is unsuitable for users not capable of precise manipulations.
Several other attempts to overcome the problems associated with small touchpads have been made, but none is entirely satisfactory. For example, software may be provided that allows a user to define certain locations on the screen as xe2x80x9cjump toxe2x80x9d points. The cursor will jump to the nearest defined point when the cursor is moved in that direction. This method, however, is limited to the jump to points designated and requires that the user keep these spots in mind. The cursor may also inadvertently jump to a predefined point during cursor movement when it is not desired to do so.
Software features that allow a user to customize settings for individual applications are also known. Settings include cursor control gain settings, as well as button functions and other features. Thus, in a graphics application where the predominant cursor or pointer activity will require fine control, a user may store touchpad settings to be loaded automatically when that application becomes active. However, this method requires that the user setup and store the settings on an application by application basis. Also, few applications lend themselves well to a single or limited range of touchpad rates.
Software providing what is known as an xe2x80x9cedge extensionxe2x80x9d or xe2x80x9cedge glidexe2x80x9d feature is also known. With edge extension, the cursor will continue to move along its present course when a user""s finger reaches the edge of the touchpad surface. The movement continues so long as the finger is held at the edge of the touchpad surface.
Drag-lock features are also known. Features of this type typically lock any selected items in a selected state. Once locked, the removal of the finger during a dragging procedure will not cause the selected items to become deselected. The feature is typically invoked by a button/pad combination. Where a user is required to perform a simultaneous button click and sliding manipulation, such as holding down a touchpad function button with one finger while sliding the other finger, it may become difficult to control the cursor or hold the button.
Software may also be provided that keeps an item in a selected state for a predetermined period of time after a finger is lifted. This length of time, which may be specified by the user, gives a user time to reposition the finger and continue dragging. This feature is useful when the user""s finger runs into the edge of the touchpad before the pointer is brought to the desired location. Although this feature gets around the problem of prematurely dropping items, it does not solve the underlying problem of a nonoptimal control gain. Also, a user is still required to perform two physical actions to bring the cursor to the desired location.
The prior art solutions to the difficulties associated with small touchpads remedy only the individual symptoms of a less than optimal control gain setting. Thus, there exists a need in the art for a solution that addresses the underlying problem of nonoptimal control gain by dynamically optimizing the control gain configuration for each cursor movement. There does not exist a touchpad configuration system that dynamically configures the control gain characteristics to provide optimal cursor control for all types of movements.
It would, therefore, be desirable to provide a touchpad configuration method and touchpad employing the same wherein the touchpad control gain is dynamically configured based on touchpad input to provide a control gain configuration that is optimal for the desired type of cursor movement.
In a first aspect of the present invention, an improved touchpad apparatus and control gain configuration method are provided wherein the touchpad control gain configuration is automatically adjusted on the basis of direct touchpad input. The present invention makes available a wide range of control gains, including very high cursor track rates where long distance cursor excursions are desired and very good control of fine cursor movements when fine cursor positioning is required. The present invention does so without the need to manually change settings and allows a user to directly select the desired control gain to match the pointer control situation.
In a second aspect of the present invention, other operational features of the touchpad may be controlled, varied, or configured on the basis of touchpad input. Examples of such touchpad operational features include, but are not limited to (1) tapping force or pressure sensitivity (i.e., the force required for a tap on the touchpad surface to register as a mouse click), (2) tapping speed sensitivity (i.e., the maximum time interval between consecutive taps in which the taps will be recognized as a tap sequence rather than discrete taps), (3) tapping lateral motion sensitivity (i.e., the distance on the touchpad that the finger may move between taps and still be recognized as a tapping sequence), (4) finger or stylus pressure sensitivity, and (5) the assignment of functions to buttons, taps and other pad gestures, button/pad combinations, and the like. The control of such operational features includes the enabling, disabling, or variation of any one or more of such features, preferably according to user-adjustable settings.
In accordance with the present invention, the touchpad surface is divided into a plurality of zones or regions. The dynamic configuration of control gain and/or other operational features in accordance with the present invention is made according to the region in which the finger or stylus initially touches down.
The present invention provides the advantage of instant user control over touchpad control gain or other operational features. The present invention provides an advantage over simple acceleration schemes in that fast and possibly erratic finger movements are not required to obtain the highest tracking rates, nor must finger movements remain slow to retain tracking rates suited for fine cursor control.
The present invention provides the advantage of allowing a user to choose the control gain configuration in a manner that is more direct and intuitive than current touchpads. The present invention also provides instant access to a much wider range of control gain settings than is possible with current systems.
These and numerous other advantages of the present invention are provided by an improved touchpad pointing device wherein the cursor control gain configuration is determined by the x-y coordinates at which the finger first touches the touchpad surface at the beginning of a given cursor movement. In another aspect of the invention, other operational features of the touchpad may be similarly controlled on the basis of the x-y coordinates at which the finger first touches the touchpad for a given cursor movement.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention as claimed. The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate an embodiment of the invention and together with the general description, serve to explain the principles of the invention.